home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 26
/
Cream of the Crop 26.iso
/
program
/
ccdl150l.zip
/
SORT
/
TEST
/
SRCHTST.C
< prev
Wrap
C/C++ Source or Header
|
1996-07-03
|
2KB
|
43 lines
typedef struct {
char name[20];
int n;
} X;
X list1[] = { {"A",1},{"B",2},{"C",3},{"D",4},{"E",5} };
X list2[] = { {"A",6},{"B",7},{"C",8},{"D",9},{"E",10},{"F",11} };
X list3[] = { {"A",12},{"B",13},{"C",14},{"D",15},{"E",16},{"F",17},{"G",18} };
int compare(X *a,X *b)
{
return(strcmp(&a->name,&b->name));
}
void *bsearch(char *a,X*b,int c,int d,int (*comp)());
void main(void)
{
printf("%d\n",((X *)bsearch("A",list1,5,sizeof(X),compare))->n);
printf("%d\n",((X *)bsearch("B",list1,5,sizeof(X),compare))->n);
printf("%d\n",((X *)bsearch("C",list1,5,sizeof(X),compare))->n);
printf("%d\n",((X *)bsearch("D",list1,5,sizeof(X),compare))->n);
printf("%d\n",((X *)bsearch("E",list1,5,sizeof(X),compare))->n);
printf("%d\n",((X *)bsearch("A",list2,6,sizeof(X),compare))->n);
printf("%d\n",((X *)bsearch("B",list2,6,sizeof(X),compare))->n);
printf("%d\n",((X *)bsearch("C",list2,6,sizeof(X),compare))->n);
printf("%d\n",((X *)bsearch("D",list2,6,sizeof(X),compare))->n);
printf("%d\n",((X *)bsearch("E",list2,6,sizeof(X),compare))->n);
printf("%d\n",((X *)bsearch("F",list2,6,sizeof(X),compare))->n);
printf("%d\n",((X *)bsearch("A",list3,7,sizeof(X),compare))->n);
printf("%d\n",((X *)bsearch("B",list3,7,sizeof(X),compare))->n);
printf("%d\n",((X *)bsearch("C",list3,7,sizeof(X),compare))->n);
printf("%d\n",((X *)bsearch("D",list3,7,sizeof(X),compare))->n);
printf("%d\n",((X *)bsearch("E",list3,7,sizeof(X),compare))->n);
printf("%d\n",((X *)bsearch("F",list3,7,sizeof(X),compare))->n);
printf("%d\n",((X *)bsearch("G",list3,7,sizeof(X),compare))->n);
printf("%d\n",bsearch("Z",list1,5,sizeof(X),compare));
printf("%d\n",bsearch("1",list1,5,sizeof(X),compare));
printf("%d\n",bsearch("Z",list2,6,sizeof(X),compare));
printf("%d\n",bsearch("1",list2,6,sizeof(X),compare));
printf("%d\n",bsearch("Z",list3,7,sizeof(X),compare));
printf("%d\n",bsearch("1",list3,7,sizeof(X),compare));
}